#ifndef OBJECT_H
#define OBJECT_H
#include <QDebug>
#include <QSharedPointer>
#include "AstTypes.h"
class IVisitor;

class Object;
typedef QSharedPointer<Object> ObjectPtr;

class Object {
public:
    Object();
    virtual ~Object();
    virtual ObjectPtr accept(IVisitor* /*visitor*/, const ObjectPtr& /*node*/);
    virtual void traverse(IVisitor* /*visitor*/);
    virtual Ast::AstTypes type();
    virtual QString toString() const;
};


#endif // OBJECT_H
